Generally, users tend to load their devices with large amounts of data (e.g., music, pictures, movies, games, etc.). At some point, there may not be enough storage space remaining in a user device to allow for additional data to be loaded. In other words, the user device may run out of storage space, which can lead to performance degradation.
Typically, when the user device runs out of storage space, the user device prompts the user to carry out a process that is aimed at freeing up storage space within the user device. For instance, the user can be presented with a dialog box indicating that the user device is out of storage space. In some cases, a list of applications installed on the user device is displayed and the user is asked to delete one or more of the applications (and their associated data). In this case, the user is imposed with making an uninformed decision regarding which applications to keep or delete in order to free up storage space. In another scenario, when the user device runs out of storage space, the user device can be configured to delete (recoverable) data associated with an application without consideration of the impact such an action would have on the user. For example, when all or a portion of the user's music library is deleted, it can be cumbersome for the user to wait while the music library is re-downloaded at a later time when he or she attempts to access songs for playback. Understandably, this can negatively impact the user's satisfaction with the user device.
In view of the foregoing, there is a need for a user device that is capable of intelligently freeing up storage space while preserving the best user experience possible.